Method and apparatus for electronically generating a color dental occlusion map within electronic model images

ABSTRACT

A method, apparatus, and article of manufacture provide a system for electronically generating a color dental occlusion map within electronic model images. With the advances recently made computational systems, these computer based image systems may be used to permit end users to replace paper and physical models with electronic images. A mechanism to capture image representations of physical objects accurately and with sufficient resolution is provided in a form that is both inexpensive to operate while providing rapid turn-around for users. Second, a mechanism to visually display interaction between parts of an object is also provided. These features are expressly addressed for impressions of human teeth that are scanned to allow electronic images of the models of a patient&#39;s teeth to be represented and manipulated.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. Provisional Application Ser.No. 60/376,091, filed Apr. 29, 2002, and titled Method and Apparatus forElectronically Generating a Color Dental Occlusion Map within ElectronicModel Images.

TECHNICAL FIELD

The invention relates generally to a distributed computing system forthe creation and distribution of electronic models of objects and moreparticularly to a system, method and article of manufacture forelectronically generating a color dental occlusion map within electronicmodel images.

BACKGROUND

Computational resources available for use by various end users ofcomputing systems has increased significantly. This increase incapability of systems has created the ability for many more end users toutilize computer based image systems to replace processes that utilizepaper and physical model processes. In the past, computer aided design,drafting, and manufacture (CAD/CAM) tools represented an area ofapplications in which computer based image systems have migrated frompaper and model based processes to electronic systems.

These CAD/CAM system typically consist of design and drafting tools thatallow technical designers to build systems that were previously designedon paper using draftsmen. Over time, the computing system and theirrespective tools have allowed increasing interactive manipulation ofcomponents during the design process. This advance in design of itemsthat are then manufactured has occurred using these computer aidedsystems.

These CAD/CAM systems, however, typically start their processes with aset of predefined libraries of components that may be used by the userof the computing system. For example, electronic schematics possess alibrary of components that are used to specify a circuit and its layout.The creation of these libraries, as well as the amount of computationalresources needed to perform the operations related to these systems, hasprevented the widespread use of these systems in other areas oftechnology.

With the advances recently made computational systems, these computerbased image systems may be used to permit end users to replace paper andphysical models with electronic images. Two areas of technology presentadditional obstacles to the more wide-spread use of these systems.First, a mechanism to capture image representations of physical objectsaccurately and with sufficient resolution is needed in a form that isboth inexpensive to operate while providing rapid turn-around for users.Second, a mechanism to visually display interaction between parts of anobject is needed. This problem is especially acute when impressions ofhuman teeth are to be scanned to allow electronic images of the modelsof a patient's teeth to be represented and manipulated as individualteeth. Neither of these latter obstacles have been overcome in existingimaging systems.

SUMMARY

The present invention relates to a method, apparatus, and article ofmanufacture for electronically generating a color dental occlusion mapwithin electronic model images.

Other embodiments of a system in accordance with the principles of theinvention may include alternative or optional additional aspects. Onesuch aspect of the present invention is a method and computer dataproduct encoding instructions for automatically determining the locationof individual teeth within an electronic model image of a patient'smouth to allow the manipulation of the electronic model images by endusers. The method determines possible horizontal cut lines within ahorizontal plane cut through the electronic model image corresponding topossible separation lines between teeth, determines possible verticalcut lines within a vertical plane cut through the electronic model imagecorresponding to possible separation lines between teeth, andautomatically determines the locations of individual teeth using thepossible horizontal cut lines and the possible vertical cut lines.

These and various other advantages and features of novelty whichcharacterize the invention are pointed out with particularity in theclaims annexed hereto and form a part hereof. However, for a betterunderstanding of the invention, its advantages, and the objects obtainedby its use, reference should be made to the drawings which form afurther part hereof, and to accompanying descriptive matter, in whichthere are illustrated and described specific examples of an apparatus inaccordance with the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an electronic model image of a patient's mouth inwhich individual teeth have been identified and moved locations insupport of a plan of treatment according to one embodiment of thepresent invention.

FIGS. 2a-2b illustrates an example of an object from which an electronicmodel is generated according to yet another example embodiment of thepresent invention.

FIG. 3 illustrates a representation of the object in FIG. 2 using apolygonal mesh according to an embodiment of the present invention.

FIG. 4 illustrates a simplified representation of the object in FIG. 2using a reduced polygonal mesh according to yet another exampleembodiment of the present invention.

FIG. 5 illustrates a format for an electronic model data file accordingto yet another example embodiment of the present invention.

FIG. 6 illustrates an electronic image of an electronic model having anupper and low set of teeth that has been superimposed upon a othermedical image of a patient according to one possible embodiment of thepresent invention.

FIG. 7 illustrates an electronic image of an upper and low set of teeththat has been superimposed upon another medical image of a patientaccording to one possible embodiment of the present invention.

FIG. 8 illustrates an exemplary computing system useful for implementingan embodiment of the present invention.

FIG. 9 illustrates two opposing teeth having multiple points ofocclusion and having known separation distances according to anembodiment of the present invention.

FIG. 10 illustrates a color mapping value table for use in generatingcolor dental occlusion maps according to an example embodiment of thepresent invention.

FIG. 11 illustrates a block diagram for a processing system to generatecolor dental occlusion maps according to another embodiment of thepresent invention.

FIG. 12 illustrates a function processing flow diagram for a processingsystem to generate color dental occlusion maps according to yet anotherembodiment of the present invention.

DETAILED DESCRIPTION

The present invention relates to a code generation method, apparatus,and article of manufacture for providing a distributed computing systemfor the creation and distribution of electronic models of objectsincluding a system, method and article of manufacture for electronicallygenerating a color dental occlusion map within electronic model images.

FIG. 1 illustrates an electronic model image of a patient's mouth inwhich individual teeth have been identified and moved locations insupport of a plan of treatment according to one embodiment of thepresent invention. An electronic model of a patient's upper teeth areshown 101 as they are located within a patient's mouth in positionrelative to a corresponding model of the patient's lower teeth 102. Inorder for this process to occur, two events must occur. First, anelectronic model for the teeth must be generated. This occurs when aphysical mold or impression of the mouth is generated. This impressionis then electronically scanned to generate the model. The process forgenerating an electronic model for the teeth is described in commonlyassigned U.S. patent application entitled “METHOD AND APPARATUS FORELECTRONIC DELIVERY OF DENTAL IMAGES”, Ser. No. 09/846,037 filed Apr.29, 2001, which is incorporated by reference.

Once the electronic model has been generated for the impression, thelocations of the individual teeth relative to opposing teeth in theopposite jaw may be determined. Generally, locations where these teethfirst make contact as the jaws close is of particular interest. Becausethese upper and low teeth are known within a common coordinate system,these locations may be easily determined and these points of interestmarked for viewing. These points of interest are typically marked with adifferent color that indicates the distance between the teeth as the jawis closing.

FIGS. 2a-2b illustrates an example of an object from which an electronicmodel is generated according to yet another example embodiment of thepresent invention. A simple geometric 3D shape 201 is presented as anexample of how a reduced polygonal mesh is generated that may be used asan electronic model. This shape 201 has two visible faces: a smalltriangular side face 212 and a larger rectangular face 211. Three otherfaces that are not visible from the perspective shown in FIG. 2a make upthis simple object.

FIG. 2b shows this object 201 having a set of surface data pointssuperimposed upon the object 201 faces. When a laser line scanner passesits sensor over a face of the object 201, a line of points correspondingto the position of the objects' surface are obtained. These points areseparated by the spatial resolution of the scanner. The data points, P0221 are specified using a 3 coordinate position X0, Y0, Z0. As theobject 201 is moved within the scanning area of the multi-axis platform,the scanner translates the data points to a common coordinate systemsuch that the collection of all points represents the points in a 3Dcoordinate system that corresponds to the surface of the item 201. Thesedata points are contained within the point cloud data file 500.

FIG. 3 illustrates a representation of the object in FIG. 2 using apolygonal mesh according to an embodiment of the present invention. Asdiscussed above, the point cloud data file 500 is reduced to a polygonalmesh of triangles in which the surface of the triangles are used toapproximate the surface of the item 201. In this example, a triangle, T1300, is located on the larger surface 211 of the item 201. The triangleT1 300 is specified using the three corner points P0 301, P1 302, and P3303. As before, each of these three points are specified using a 3Dcoordinate system such that T1 300 is defined:

-   -   T1: {P0, P1, P2} or    -   T1: {[X0, Y0, Z0], [X1, Y1, Z1], {[X2, Y2, Z2]}.

Each triangle in the polygonal mesh is specified using the three pointsas shown above. No particular order for the points making up thetriangle is necessary. The smaller side 212 of the item 211 in thisexample is initially shown with six triangles 311-316. The triangles inthe polygonal mesh may be created using any number of well known methodsfor reducing point position data into a polygonal mesh that approximatesthe surface of the object.

FIG. 4 illustrates a simplified representation of the object in FIG. 2using a reduced polygonal mesh according to yet another exampleembodiment of the present invention. A reduced polygonal mesh isgenerated by combining adjacent triangles in the original polygonal meshwhen the two or more triangles are sufficiently coplanar that they maybe represented using a single triangle. In this example, a large numberof small triangles may have been originally generated mesh shown in FIG.3. When a flat surface of the simple object 201 is considered, thenumber of triangles needed is reduced significantly 401-407. In theexample, all of the small triangles from the small side 212 of the item201 have been combined into a single triangle 411. The processingassociated with this filtering operation controls the amount of trianglecombination by setting a threshold relating to the minimum amount ofdeviation from a single plane for the two or more triangles that ispermitted before two or more triangles are required to remain separate.This filtering process may be accomplished using a number ofcommercially available polygonal mesh processing products withoutdeviating from the present invention as recited within the attachedclaims.

FIG. 5 illustrates a format for an electronic model data file accordingto yet another example embodiment of the present invention. Theelectronic model data file 500 consists of a file header info block 501and a triangle specification block 502. The triangle specification blockconsists of the set of triangle definitions 511-513 that are used todefine the reduced polygonal mesh.

The file header info block 501 includes a set of searchableidentification information that may be used to identify a particularmodel from any number of related models. The mouth and teeth electronicmodels, for example, will likely contain patient identificationinformation such as name, date of birth, address, social security numberthat may be used to uniquely identify the patient from which the modelwas generated. The info block 511 may also contain dental care providerinformation such as the dentist name and address as well as the date onwhich the impression was taken that generated the electronic model.

The file header info block 501 includes a set of searchableidentification information that may be used to identify a particularmodel from any number of related models. The mouth and teeth eModels,for example, will likely contain patient identification information suchas name, date of birth, address, social security number that may be usedto uniquely identify the patient from which the model was generated. Theinfo block 511 may also contain dental care provider information such asthe dentist name and address as well as the date on which the impressionwas taken that generated the eModel.

This data file 500 is typically ASCII encoded data that may be easilysearched and processed as necessary. One skilled in the art willrecognize how this file header info block 501 may be modified to includeany information needed by a particular application without deviatingfrom the spirit and scope of the present invention as recited within theattached claims.

FIG. 6 illustrates an electronic image of an upper and low set of teeththat has been superimposed upon another medical image of a patientaccording to one possible embodiment of the present invention. In orderto generate an accurate color dental occlusion map, the location of theupper teeth 602 must be known relative to the location of the lowerteeth 601 as the jaw opens and closes. This location data may beobtained by superimposing the electronic model for the teeth uponanother image, such as an x-ray 603 shown in FIG. 6, in which commonlocations in both images are identified. Using these common locationpoints, the electronic model image and the other medical image may bescaled and oriented onto a common frame of reference. While the exampleshown herein uses an x-ray image 603, one skilled in the art willrecognize that any other medical image having sufficient resolution topermit the accurate registration of the images may be used withoutdeviating from the spirit and scope of the present invention as recitedwithin the attached claims.

Alternatively, the electronic model may be used to generate the colorocclusion map without the use of another image if the user providesindependently obtained measurements for the arc of the jaw as it opensand closes. The x-ray image 603 is useful in determining the point ofrotation for the lower jaw to provide a proper definition of the motionof the upper teeth 602 relative to the lower teeth 601 as the jaw moves.

FIG. 7 illustrates an electronic image of an electronic model having anupper and low set of teeth that has been superimposed upon anothermedical image of a patient according to one possible embodiment of thepresent invention. In this image, the upper teeth 602 and the lowerteeth 601 are again superimposed upon another image 603 of the patient.After the two set of images are properly scaled and registered, thepoint of rotation for the jaw 701 may be identified. From this point701, and its distance from the individual teeth, the arc of motion 702for the lower jaw 601 may be defined. Once the movement of the teethrelative to the opposing set of teeth is defined, the color dentalocclusion map may be created.

FIG. 8 illustrates an exemplary system for implementing the inventionincludes a general-purpose computing device in the form of aconventional personal computer 800, including a processor unit 802, asystem memory 804, and a system bus 806 that couples various systemcomponents including the system memory 804 to the processor unit 800.The system bus 806 may be any of several types of bus structuresincluding a memory bus or memory controller, a peripheral bus and alocal bus using any of a variety of bus architectures. The system memoryincludes read only memory (ROM) 808 and random access memory (RAM) 810.A basic input/output system 812 (BIOS), which contains basic routinesthat help transfer information between elements within the personalcomputer 800, is stored in ROM 808.

The personal computer 800 further includes a hard disk drive 812 forreading from and writing to a hard disk, a magnetic disk drive 814 forreading from or writing to a removable magnetic disk 816, and an opticaldisk drive 818 for reading from or writing to a removable optical disk819 such as a CD ROM, DVD, or other optical media. The hard disk drive812, magnetic disk drive 814, and optical disk drive 818 are connectedto the system bus 806 by a hard disk drive interface 820, a magneticdisk drive interface 822, and an optical drive interface 824,respectively. The drives and their associated computer-readable mediaprovide nonvolatile storage of computer readable instructions, datastructures, programs, and other data for the personal computer 800.

Although the exemplary environment described herein employs a hard disk,a removable magnetic disk 816, and a removable optical disk 819, othertypes of computer-readable media capable of storing data can be used inthe exemplary system. Examples of these other types of computer-readablemediums that can be used in the exemplary operating environment includemagnetic cassettes, flash memory cards, digital video disks, Bernoullicartridges, random access memories (RAMs), and read only memories(ROMs).

A number of program modules may be stored on the hard disk, magneticdisk 816, optical disk 819, ROM 808 or RAM 810, including an operatingsystem 826, one or more application programs 828, other program modules830, and program data 832. A user may enter commands and informationinto the personal computer 800 through input devices such as a keyboard834 and mouse 836 or other pointing device. Examples of other inputdevices may include a microphone, joystick, game pad, satellite dish,and scanner. These and other input devices are often connected to theprocessing unit 802 through a serial port interface 840 that is coupledto the system bus 806. Nevertheless, these input devices also may beconnected by other interfaces, such as a parallel port, game port, or auniversal serial bus (USB). A monitor 842 or other type of displaydevice is also connected to the system bus 806 via an interface, such asa video adapter 844. In addition to the monitor 842, personal computerstypically include other peripheral output devices (not shown), such asspeakers and printers.

The personal computer 800 may operate in a networked environment usinglogical connections to one or more remote computers, such as a remotecomputer 846. The remote computer 846 may be another personal computer,a server, a router, a network PC, a peer device or other common networknode, and typically includes many or all of the elements described aboverelative to the personal computer 800. The network connections include alocal area network (LAN) 848 and a wide area network (WAN) 850. Suchnetworking environments are commonplace in offices, enterprise-widecomputer networks, intranets, and the Internet.

When used in a LAN networking environment, the personal computer 800 isconnected to the local network 848 through a network interface oradapter 852. When used in a WAN networking environment, the personalcomputer 800 typically includes a modem 854 or other means forestablishing communications over the wide area network 850, such as theInternet. The modem 854, which may be internal or external, is connectedto the system bus 806 via the serial port interface 840. In a networkedenvironment, program modules depicted relative to the personal computer800, or portions thereof, may be stored in the remote memory storagedevice. It will be appreciated that the network connections shown areexemplary, and other means of establishing a communications link betweenthe computers may be used.

Additionally, the embodiments described herein are implemented aslogical operations performed by a computer. The logical operations ofthese various embodiments of the present invention are implemented (1)as a sequence of computer implemented steps or program modules runningon a computing system and/or (2) as interconnected machine modules orhardware logic within the computing system. The implementation is amatter of choice dependent on the performance requirements of thecomputing system implementing the invention. Accordingly, the logicaloperations making up the embodiments of the invention described hereincan be variously referred to as operations, steps, or modules.

FIG. 9 illustrates two opposing teeth having multiple points ofocclusion and having known separation distances according to anembodiment of the present invention. As defined above, the electronicmodel represents the two opposing teeth 901, 902 as a polygonal mesh inwhich the mesh is constructed using a set of triangles having explicitlyknown locations for the respective vertices. These locations are alsoknown relative to the point of rotation for the jaw as discussed abovein FIG. 7.

Using this location data, the separation distances between the teeth maybe easily determined. In calculating the separation distances, each ofthe vertices A 921, B 922, and C 923 are considered independently. Foreach of these vertices, a corresponding point A′ 931, B′ 932, and C′ 933are located. These corresponding points are the locations on theopposing teeth where a perpendicular distance is found between thevertices A 921, B 922, and C 923 and the surface of the opposingpolygonal mesh.

Once these corresponding points, A′ 931, B′ 932, and C′ 933, are found,a separation distance 911 may be calculated. This calculated distancemay represent the perpendicular distance 911 between a vertex A 921 andits corresponding occlusion point A′ 931. This calculated distance mayalso represent the curvilinear distance 912 between a vertex A 921 andits corresponding occlusion point A′ 931 along an arc defined inreference to the point of rotation for the jaw 701. These calculateddistances are determined for each vertex in both the polygonal mesh forthe upper teeth 702 and the polygonal mesh for the lower teeth 701 foruse in generating the color dental occlusion map.

FIG. 10 illustrates a color mapping value table for use in generatingcolor dental occlusion maps according to an example embodiment of thepresent invention. Once the separation distances are determined, a colordental occlusion map may be generated by painting each triangle a colorthat corresponds to the separation distance for its vertices to theopposing teeth. In one embodiment, a color map is defined as havingseven (7) different colors in which each different color represents adifferent range of separation distances. These separation distances maycorrespond to either the perpendicular distances or the curvilineardistances without deviating from the spirit and scope of the presentinvention.

The number of different colors, and corresponding ranges of separationdistances, may be easily specified using a color mapping table shown inFIG. 10. When a triangle in a polygonal mesh is processed, itsseparation distance is used to index into one of the regions within thecolor mapping table 1001-1007 to determine the color to be used to paintthe particular triangle. Thus, the electronic model will appear to be astandard electronic model with Red, Green and/or Blue locations thatindicate the corresponding separation distance. Of course, one skilledin art will recognize that the number of ranges and the range values maybe altered without deviating from the scope of the patent invention.

In the particular embodiment shown in FIG. 10, a Blue locationcorresponds to teeth 1031, 1032 having a separation 1033 between +1 and+5 mm. Similarly, a Green location corresponds to teeth 1021, 1022having a separation 1023 between −0.1 and +0.1 mm and a Red locationcorresponds to teeth 1011, 1012 having a separation 1013 between 1 and 5cm. When the triangles are painted, the surfaces may be painted in anumber of ways. Typically, these surfaces are either painted using aflat (solid), single color for the triangle. The color corresponds tothe color of the vertex that is closed to the opposing surface.Alternatively, a Garound or smooth surface shading may be used toprovide shading between colors deferred by each of the vertices of thetriangle as desired without deviating from the spirit and scope of thepresent invention.

FIG. 11 illustrates a block diagram for a processing system to generatecolor dental occlusion maps according to another embodiment of thepresent invention. The processing system includes a set of processingmodules to perform the tasks associated with generating a color dentalocclusion map. The set of processing modules includes an electronicmodel Mesh Shading module 1111, an electronic model polygon reductionmodule 1112, an electronic model generation module 1113, a teethseparation color mapping module 1121, a teeth vertex separationcalculation module 1122, a teeth separation specification module 1123,and an image output module 1131.

The electronic model Mesh Shading module 1111, the electronic modelpolygon reduction module 1112, and the electronic model generationmodule 1113 perform the operations needed to generate and shade theelectronic model. These modules implement the process for generating anelectronic model for the teeth is described in commonly assigned U.S.patent application entitled “METHOD AND APPARATUS FOR ELECTRONICDELIVERY OF DENTAL IMAGES”, Ser. No. 09/846,037 filed Apr. 29, 2001,which is incorporated by reference.

The teeth separation color mapping module 1121 paints the triangles thecolor corresponding to the calculated separation distance using a colormap table 1001-1007 as discussed in detail above. The s-teeth vertexseparation calculation module 1122 performs the processing needed todetermine the separation distance between a triangle vertex and it'scorresponding mesh face along either a perpendicular or a curvilinearpath as described above. The teeth separation specification module 1123accepts input from the user to manipulate the two parts of an electronicmodel. This module implements the process for manipulating an electronicmodel for the teeth as described in concurrently filed and commonlyassigned U.S. patent application entitled “METHOD AND APPARATUS FORELECTRONICALLY SIMULATING JAW FUNCTION”, Ser. No. 60/376,111, filed Apr.29, 2002, which is incorporated by reference. The image output module1131 generates the image seen by a user on a display device thatincludes an electronic model after it has been painted using a colormap.

FIG. 12 illustrates a function processing flow diagram for a processingsystem to generate color dental occlusion maps according to yet anotherembodiment of the present invention. The processing starts 1201 and anelectronic model is generated for both the upper teeth and the lowerteeth in module 1211. The process for generating an electronic model forthe teeth is described in commonly assigned U.S. patent applicationentitled “METHOD AND APPARATUS FOR ELECTRONIC DELIVERY OF DENTALIMAGES”, Ser. No. 09/846,037 filed Apr. 29, 2001, which is incorporatedby reference.

Once the electronic models are generated, module 1212 allows a user tomove the upper and lower teeth to a desired separation distance for theupper and lower teeth in the electronic model using an input device suchas a mouse. The teeth move along an arc of motion defined by a point ofrotation for the jaw and the distance of the teeth from this point ofrotation. The separation distance of the two parts of the electronicmodel then are used to calculate an individual separation distances foreach vertex in the two polygonal meshes in module 1213. These individualseparation distances for each vertex are then passed through a color map1001-1007 to paint the individual triangles a color corresponding to theindividual separation distance for each triangle.

The process of manipulating the separation of the two parts of theelectronic model, calculating individual separation distances, andpainting the triangles colors from a color map may be interactivelyrepeated as necessary based upon input from a user. Once the electronicmodel has been painted a color, the electronic model may also bemanipulated, rotated, zoomed, etc as the user performs analysis of theinteraction of the patient's teeth.

FIG. 8 illustrates an example of a suitable operating environment inwhich the invention may be implemented. The operating environment isonly one example of a suitable operating environment and is not intendedto suggest any limitation as to the scope of use or functionality of theinvention. Other well known computing systems, environments, and/orconfigurations that may be suitable for use with the invention include,but are not limited to, personal computers, server computers, held-heldor laptop devices, multiprocessor systems, microprocessor-based systems,programmable consumer electronics, network PCs, minicomputers, mainframecomputers, distributed computing environments that include any of theabove systems or devices, and the like.

The invention may also be described in the general context ofcomputer-executable instructions, such as program modules, executed byone or more computers or other devices. Generally, program modulesinclude routines, programs, objects, components, data structures, etc.that perform particular tasks or implement particular abstract datatypes. Typically the functionality of the program modules may becombined or distributed in desired in various embodiments.

A computing system 1101 typically includes at least some form ofcomputer readable media. Computer readable media can be any availablemedia that can be accessed by the network server 110. By way of example,and not limitation, computer readable media may comprise computerstorage media and communication media. Computer storage media includesvolatile and nonvolatile, removable and non-removable media implementedin any method or technology for storage of information such as computerreadable instructions, data structures, program modules or other data.Computer storage media includes, but is not limited to, RAM, ROM,EEPROM, flash memory or other memory technology, CD-ROM, digitalversatile disks (DVD) or other optical storage, magnetic cassettes,magnetic tape, magnetic disk storage or other magnetic storage devices,or any other medium which can be used to store the desired informationand which can be accessed by the computing system 1101.

Communication media typically embodies computer readable instructions,data structures, program modules or other data in a modulated datasignal such as a carrier wave or other transport mechanism and includesany information delivery media. The term “modulated data signal” means asignal that has one or more of its characteristics set or changed insuch a manner as to encode information in the signal. By way of example,and not limitation, communication media includes wired media such as awired network or direct-wired connection, and wireless media such asacoustic, RF, infrared and other wireless media. Combinations of any ofthe above should also be included within the scope of computer readablemedia.

The foregoing description of the exemplary embodiments of the inventionhas been presented for the purposes of illustration and description.They are not intended to be exhaustive or to limit the invention to theprecise forms disclosed. Many modifications and variations are possiblein light of the above teaching. It is intended that the scope of theinvention be limited not with this detailed description, but rather bythe claims appended hereto. Thus the present invention is presentlyembodied as a method, apparatus, computer storage medium or propagatedsignal containing a computer program for electronically generating acolor dental occlusion map within electronic model images.

What is claimed is:
 1. A method for electronically generating a colordental occlusion map within electronic model images on a computingdevice including a processor and memory, the method comprising:obtaining an electronic model of an upper set of teeth and a lower setof teeth from the memory of the computing device, the upper and lowersets of teeth being represented by opposing polygonal meshes, eachpolygonal mesh including a plurality of triangles, a first one of thepolygonal meshes is configured to pivot at a point of rotation relativeto a second one of the polygonal meshes, wherein at least one point oneach triangle of the first polygonal mesh travels through a respectiveseries of points that defines an arc of motion when the first polygonalmesh pivots relative to the second polygonal mesh; manipulating aspatial separation between the first polygonal mesh and the secondpolygonal mesh by instructing the processor of the computing device topivot the first polygonal mesh at the point of rotation; for at leastone point on each triangle of the first polygonal mesh, instructing theprocessor to calculate a separation distance to an opposing point on oneof the triangles of the second polygonal mesh, the distance beingdetermined by the processor at least partially based on the arc ofmotion along which the respective point of the first polygonal meshtravels; for each triangle in the first polygonal mesh, instructing theprocessor to paint the triangle of the first polygonal mesh a colorcorresponding to the respective separation distance between the point onthe triangle and the corresponding opposing point on the secondpolygonal mesh; and wherein manipulating the spatial separation changesthe separation distances between the points of the first polygonal meshand the corresponding opposing points of the second polygonal mesh. 2.The method according to claim 1, further comprising: —generating theelectronic model including: scanning a surface of a physical model ofteeth; and generating at least the first polygonal mesh to correspond tothe scanned surface; and storing the electronic model in the memory ofthe computing device.
 3. The method according to claim 1, wherein themanipulating the spatial separation comprises accepting input from auser with an input device, the input indicating how the first and secondpolygonal meshes are to be manipulated.
 4. The method according to claim1, further comprising defining the point of rotation including:displaying an electronic image of a skull of the patient to the user ona display device; displaying the electronic model over the electronicimage of the skull; and accepting input from a user indicating the pointof rotation.
 5. The method according to claim 4, wherein the electronicimage corresponds to a digital representation of an x-ray.
 6. The methodaccording to claim 1, wherein the painting the triangles of at least thefirst polygonal mesh paints each triangle a flat single color chosenfrom a color value table.
 7. The method according to claim 1, whereinthe painting the triangles of at least the first polygonal mesh uses asmooth surface shading applied to a color chosen from a color valuetable.
 8. The method according to claim 1, wherein the painting thetriangles of at least the first polygonal mesh uses a Gouraud shadingapplied to a color chosen from a color value table.
 9. A computerprogram product embodied on a non-transitory computer-readable mediumand comprising code that, when executed, causes a computer to implementa method to generate a color dental occlusion map, the methodcomprising: providing a computing system, wherein the computing systemincludes distinct software modules, and wherein the distinct softwaremodules include a generation module, a separation specification module,a separation calculation module, and separation mapping module;generating an electronic model of an upper set of teeth and a lower setof teeth, the electronic model including a first triangular meshrepresenting the upper set of teeth and a second triangular meshrepresenting the lower set of teeth, the triangular meshes including aplurality of triangles, each triangle having a respective vertex,wherein each triangular mesh is configured to pivot at a point ofrotation relative to the other triangular mesh, wherein each vertex ofeach triangle of one of the triangular meshes travels along acorresponding arc of motion when the triangular mesh pivots relative tothe other triangular mesh, wherein the generating of the electronicmodel is performed by the generation module; manipulating a spatialseparation of the first triangular mesh representing the upper set ofteeth relative to the second triangular mesh representing the lower setof teeth by pivoting at least one of the triangular meshes about thepoint of rotation, wherein the manipulating is performed by theseparation specification module; calculating a curvilinear distance fromat least one of the triangle vertices of each triangle in at least aportion of the first triangular mesh to a corresponding triangle vertexof the second triangular mesh, the curvilinear distance being determinedat least partially based on the arc of motion corresponding to thevertex, wherein the calculating is performed by the separationcalculation module; and painting each of the triangles in the portion acolor corresponding to the distance calculated for the respectivetriangle vertices, the painting being performed by the separationmapping module.
 10. The computer program product according to claim 9,wherein manipulating the spatial separation of the triangular meshescomprises: superimposing the electronic model over an electronic medicalimage showing a dentition of a patient; determining the point ofrotation based on the electronic medical image.
 11. The computer programproduct according to claim 9, wherein the point of rotation is definedusing an electronic image of an x-ray of a skull.
 12. The computerprogram product according to claim 9, wherein painting each of thetriangles comprises painting each triangle a flat single color chosenfrom a color value table.
 13. The computer program product according toclaim 9, wherein painting each of the triangles uses a smooth surfaceshading applied to a color chosen from a color value table.
 14. A methodfor electronically generating a color dental occlusion map on anelectronic display device for a patient, the method being implementedusing an electronic computing system including a computer processor, themethod comprising: generating on the computer processor a firstelectronic model representing a first set of teeth of the patient and asecond electronic model representing a second set of teeth of thepatient, a surface of each electronic model being formed from apolygonal mesh, each polygonal mesh including a plurality of polygons,each of the electronic models being configured to rotate relative toeach other at a rotation point; graphically displaying the polygonalmesh of each electronic model on the electronic display device;positioning the second electronic model relative to the first electronicmodel on the electronic display device; calculating on the computerprocessor a distance from at least one point on at least one polygon inthe polygonal mesh of the first electronic model to a correspondingpoint on at least one polygon in the polygonal mesh of the secondelectronic model, the distance being determined at least partially basedon the point of rotation and a distance extending between the point ofrotation and the point on the polygonal mesh of the first electronicmodel; painting on the electronic display device the polygon associatedwith the point a color to indicate the distance calculated; moving atleast one of the electronic models such that the first set of teeth andthe second set of teeth are shown on the displayed device as arranged inan occluded position; recalculating on the computer processor thedistance from the point on the polygon in the polygonal mesh of thefirst electronic model to the corresponding point in the polygonal meshof the second electronic model; and painting on the electronic displaydevice the polygon associated with the point on the first polygonal mesha different color to indicate the recalculated distance.
 15. The methodaccording to claim 14, wherein calculating a distance includescalculating a distance from a plurality of polygon vertices in thepolygonal mesh of the first electronic model to corresponding polygonvertices in the polygonal mesh of the second electronic model.
 16. Themethod according to claim 15, wherein painting a polygon includespainting a plurality of polygons, each polygon corresponding to one ofthe plurality of polygon vertices.
 17. The method according to claim 14,wherein painting a polygon includes painting the polygon a flat, singlecolor.
 18. The method according to claim 14, wherein painting a polygonincludes painting the polygon multiple colors using smooth surfaceshading.
 19. The method according to claim 18, wherein painting thepolygon multiple colors includes painting the polygon using Gouraudshading.
 20. The method according to claim 14, wherein calculating adistance includes calculating a curvilinear distance.
 21. The methodaccording to claim 14, wherein the first electronic model correspondswith an upper set of teeth and the second electronic model correspondswith a lower set of teeth.
 22. The method according to claim 14, furtherincluding determining the point of rotation based on an electronicmedical image.
 23. The method of claim 1, wherein the at least one pointon each triangle of the first polygonal mesh comprises three vertices ofthe triangle.
 24. The method of claim 14, wherein calculating on thecomputer processor the distance comprises calculating on the computerprocessor the distance between a vertex of the polygon on the polygonalmesh of the first electronic model to a corresponding polygonal vertexon the polygonal mesh of the second electronic model.